"""组件管理"""
import settings
from core.input_component import MouseComponent

"""
{
    'input_class':ManageEvent | 键盘组件                                          输入设备对象
    'behavior': str                                                             对象行为
    'time':int                                                                  一个组件执行完成后等待时间
},
"""

# 组件管理对象
class ComponentManager:
    def __init__(self,data):
        self.data = data
        self.events = []                            # 处理后的事件管理器
        self.start()
    def __call__(self):
        return self.events

    def start(self):
        """开始类型判断"""
        for i in self.data:
            if i['type'] == '鼠标':
                self.mouse_component(i)
            elif i['type'] == '键盘':
                self.keyboard_component(i)

    def mouse_component(self,info_dict):
        """鼠标控制类创建"""
        print('开始创建鼠标控制类')
        event_dict = {
            'input_class': MouseComponent(info_dict),
            'behavior': info_dict['behavior'],
            'time': info_dict['time']
        }
        self.events.append(event_dict)

    def keyboard_component(self,info_dict):
        """键盘控制类创建"""
        print('开始创建键盘控制类')